home *** CD-ROM | disk | FTP | other *** search
- @echo off
- REM *************************************************************
- REM *** EnviAsks.bat - Some demonstrations of EnviAsk.bat and ***
- REM *** ver.1 GetUKey. ***
- REM *************************************************************
-
- REM ***********************************************************
- REM *** ASK USER IF THEY WANT TO CONTINUE USING GETUKEY.CMM ***
- REM ***********************************************************
- ECHO EnviAsks: Demonstrate some methods of getting user input using
- ECHO the GetUKey and the EnviAsks tools.
- CEnvi GetUKey Do you want to try this demo? (Y/N) yn
- IF NOT "%UKEY%"=="Y" GOTO ASK_NO_MORE
-
- REM ******************************************
- REM *** USE ENVIASK TO GET USERS FULL NAME ***
- REM ******************************************
- ECHO
- CALL EnviAsk FNAME 1 20 /Prompt "What is your first name?" /Mask Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- CALL EnviAsk LNAME 1 20 /Prompt "What is your last name?" /Mask Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- CALL EnviAsk M_INIT 0 1 /Prompt "Middle Initial (optional) ?" /Mask A
-
- REM *****************************************
- REM *** COMBINE NAME PARTS INTO FULL NAME ***
- REM *****************************************
- ECHO
- SET FULLNAME=%FNAME%
- IF NOT "%M_INIT%"=="" CEnvi sprintf(FULLNAME,"%%s %%s",FULLNAME,M_INIT);
- CEnvi strcat(FULLNAME," "); strcat(FULLNAME,LNAME);
- SET FNAME=
- SET LNAME=
- SET M_INIT=
- ECHO Thanks, %FULLNAME%, for giving your name.
-
- REM ***************************
- REM *** TOP-SECRET PASSWORD ***
- REM ***************************
- ECHO
- CALL EnviAsk SECRET 1 50 /HIDE /Prompt "Tell me a top-secret password?"
- ECHO I know a secret. I know a secret.
- SET SECRET=
-
- REM *********************************************
- REM *** Pick a random number between 1 and 10 ***
- REM *********************************************
- CEnvi srand(); MY_NUMBER = (rand() %% 10) + 1
-
- REM *********************************
- REM *** Ask user to pick a number ***
- REM *********************************
- ECHO
- ECHO I'm thinking of a number between 1 and 10 (inclusive).
- CALL EnviAsk YOUR_NUMBER 1 10 /INT /Prompt "What is your guess (1-10, up or down)?"
-
- REM ***************************************
- REM *** Compare numbers and tell result ***
- REM ***************************************
- ECHO
- ECHO My number was %MY_NUMBER%. You guessed %YOUR_NUMBER%.
- IF %MY_NUMBER%==%YOUR_NUMBER% ECHO GOOD GUESS!
- IF %MY_NUMBER%==%YOUR_NUMBER% GOTO POP_QUIZ
- CEnvi "if (YOUR_NUMBER < MY_NUMBER) return(0); else return(1);"
- IF ERRORLEVEL 1 ECHO TOO HIGH!
- IF NOT ERRORLEVEL 1 ECHO TOO LOW!
-
-
- :POP_QUIZ
- SET MY_NUMBER=
- SET YOUR_NUMBER=
- REM ******************************************
- REM *** Force user to enter the CEnvi name ***
- REM ******************************************
- ECHO
- ECHO Test time. I hope you've been paying attention. Good luck.
- :QUESTION
- SET ANSWER=
- ECHO
- ECHO You have 20 seconds to answer this question: Using 5 letters, what is your
- CALL EnviAsk ANSWER 5 5 /Mask AAaaa /TIME 20 /Prompt "favorite new DOS tool? (hint: CEnvi)"
- IF "%ANSWER%"=="CEnvi" GOTO GOOD_ANSWER
- ECHO Wait! Wrong answer. Let's try this again.
- GOTO QUESTION
-
- :GOOD_ANSWER
- ECHO
- SET ANSWER=
- ECHO
- ECHO Good answer. You're sure smart!
- ECHO Bye.
-
- :ASK_NO_MORE
- SET FULLNAME=
- SET UKEY=